from mon_util import get_ip_address

basic_info = [
    { 'name' : 'PlatformInfo',
      'title' : 'Platform Info',
      'metrics' : [
          { 'name' : 'cpu_num',
            'title' : 'CPU num',
            'unit' : None,
            'enabled' : 1 
          },
          { 'name' : 'cpu_model_name',
            'title' : 'CPU model name',
            'unit' : None,
            'enabled' : 1 
          },
          { 'name' : 'vt_support',
            'title' : 'VT support',
            'unit' : None,
            'enabled' : 1 
          },
          { 'name' : 'os_version',
            'title' : 'OS version',
            'unit' : None,
            'enabled' : 1
          }
      ]
    }]

metric_groups = [
    { 'name' : 'CPUModule',
      'metrics' : [
          { 'name' : 'cpu_total_time',
            'title' : 'CPU total time',
            'unit' : 'ms',
            'type' : 'continuous',
            'enabled' : 1 },
          { 'name' : 'cpu_use_time',
            'title' : 'CPU use time',
            'unit' : 'ms',
            'type' : 'continuous',
            'enabled' : 1 },
          { 'name' : 'load_one',
            'title' : 'load one',
            'unit' : None,
            'type' : 'discrete',
            'min' : 0,
            'max' : 1.0,
            'enabled' : 1 },
          { 'name' : 'load_five',
            'title' : 'load five',
            'unit' : None,
            'type' : 'discrete',
            'min' : 0,
            'max' : 1.0,
            'enabled' : 1 }
      ],
      'period' : 5
    #},
    #{ 'name' : 'PlatformInfo',
      #'metrics' : [
          #{ 'name' : 'cpu_num',
            #'title' : 'CPU num',
            #'unit' : None,
            #'enabled' : 1 
          #},
          #{ 'name' : 'cpu_model_name',
            #'title' : 'CPU model name',
            #'unit' : None,
            #'enabled' : 1 
          #},
          #{ 'name' : 'vt_support',
            #'title' : 'VT support',
            #'unit' : None,
            #'enabled' : 1 
          #}
      #],
      #'period' : 31536000
    }]

ip = get_ip_address('eth0')

remote_servers = [
    { 'host' : ip,
      'port' : 7890
    }]

listen_channel = { 'port' : 3998,
                   #'host' : 'localhost'
                   'host' : ip
                 }

collect_interval = 5

all = { 'basic_info' : basic_info,
        'metric_groups' : metric_groups, 
        'remote_servers' : remote_servers,
        'listen_channel' : listen_channel,
        'collect_interval' : collect_interval
      }

if __name__ == '__main__':
    #print json.dumps([metric_groups, remote_servers], sort_keys=True, indent=2)
    #print json.dumps(metric_groups)
    fp = file('/home/drli/code/test/daemon/daemon_default_config', 'w+')
    import json
    json.dump(all, fp, sort_keys=True, indent=2)
    import sys
    #json = lambda s, encoding = sys.getdefaultencoding(): repr(unicode(s, encoding))[1:]
    #json = lambda s: repr(s)
    #print json(all)
    #fp.write(json(all))
    fp.seek(0)
    print json.load(fp, encoding=sys.getdefaultencoding())
    fp.close()
